Automatic teller machines (ATM) and Internet kiosks are typical examples or public untrusted terminals which are used to access computer systems. A typical system is illustrated in FIG. 1. Consider withdrawing money from an ATM 6 using a bank card 2. In all existing systems, users 1 have to enter a personal identification number (PIN) or pass-phrase in order to reliably authenticate themselves to the bank. But there is no way for the user 1 to authenticate the bank. There have been incidents where thieves set up fake ATMs and successfully stole PINs and magnetic stripe information from unsuspecting users.
The same fake terminal problem occurs in many other settings as considered in the following examples.
ATMs and point-of-sale terminals. In both scenarios, every user 1 is registered with a specific server 5 (e.g., a credit-card issuer). All transactions of the user 1 are eventually authorized by the server 5. Servers 5 can typically identify and authenticate legal terminals 6. A typical attack scenario is when the attacker would set up an illegal terminal 6 which waits for the user 1 to type in the PIN code, read any necessary information from the card 2, and then refuse service, for example by displaying a “terminal 6 out of order” message. Unsuspecting user 1 will simply move on to a different terminal 6. The attacker can later use the stolen information at a legal terminal 6.
Public Internet kiosks: Short-term access to the Internet from public terminals is an increasingly common feature in malls, airports, the so-called “Internet cafes,” and other public places. There is little risk for users who merely want to “surf” the web from these terminals. But people can, and do, perform more sensitive transactions such as accessing their personal or business computer systems, making payments etc. from public Internet kiosks. This scenario differs from the previous ones in some respects:
the user 1 may access several servers from the same terminal 6, and
the types of private information which needs to be protected may not be fixed, or even known a priori.
A similar scenario arises in the case of virtual mall kiosks. Virtual mall kiosks allow prospective customers to browse through and purchase the wares advertised by shop-keepers in the virtual mall. Functionally, this scenario is similar to public Internet kiosks.
In specific settings, such as ATMs that use biometrics instead of password to authenticate, the fake terminal problem can be avoided. However, the general problem remains. A solution to this general problem must take into account different scenarios where the resources available to a user may be different: a user may have a trusted personal device with its own display or may have only a standard integrated chip card (e.g. a smartcard) with no display attached or, in the simplest and most common case, may not have any personal trusted device at all.
The article “Trusting mobile user devices and security modules” in “Computer, innovative technology for computer professionals”, Feb. 1997, IEEE Computer Society, pp. 61–67, a simple protocol is described where a user can authenticate a user device with display. It is an object of the present invention to provide a scheme to solve the problems associated with untrusted public terminals.
It is an object of the present invention to provide a scheme for a user to authenticate a public terminal before using it to process sensitive information.